Skip to content

Create appkit manifest#484

Open
skywardboundd wants to merge 6 commits into
mainfrom
create-appkit-manifest
Open

Create appkit manifest#484
skywardboundd wants to merge 6 commits into
mainfrom
create-appkit-manifest

Conversation

@skywardboundd

@skywardboundd skywardboundd commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

Documentation

  • Updated the create AppKit README and template environment comments to use https://appkit-template.vercel.app as the default App URL.

Chores

  • Improved the test scaffolding workflow to scaffold from the locally packed CLI tarball and execute with the current package manager.
  • Added a post-scaffold validation to verify the TON Connect manifest url and iconUrl (including favicon).

Templates

  • Updated the generated TON Connect manifest template and related defaults to target https://appkit-template.vercel.app.

@skywardboundd skywardboundd requested a review from Alejandbel June 23, 2026 13:30
@vercel

vercel Bot commented Jun 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
appkit-minter Ready Ready Preview, Comment Jun 23, 2026 7:15pm
appkit-template Ready Ready Preview, Comment Jun 23, 2026 7:15pm
kit-demo-wallet Ready Ready Preview, Comment Jun 23, 2026 7:15pm

Request Review

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The default app URL used by create-ton-appkit is changed from https://your-app.example.com to https://appkit-template.vercel.app in the CLI source, React template manifest, environment template, and README. The CI workflow is updated to scaffold from a locally packed tarball with per-package-manager invocations and adds a manifest field validation step.

Changes

Default App URL and CI Validation Update

Layer / File(s) Summary
Default URL in CLI, template manifest, and docs
packages/create-ton-appkit/src/index.ts, packages/create-ton-appkit/template-react/public/tonconnect-manifest.json, packages/create-ton-appkit/template-react/_env, packages/create-ton-appkit/README.md
The interactive prompt's defaultValue/placeholder and the non-interactive default for appUrl are updated to https://appkit-template.vercel.app; the template manifest's url and iconUrl fields are replaced to match; the template environment file reference is updated; the README options table is updated to document the new default.
CI per-package-manager scaffold and manifest validation
.github/workflows/create_ton_appkit_test.yml
The scaffold step is rewritten to run create-ton-appkit from the local npm pack tarball using package-manager-specific invocations (npm exec, pnpm dlx, yarn global add, bun install -g), and a post-scaffold check greps the generated tonconnect-manifest.json for the expected url and iconUrl values.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐇 Hopped past the placeholder, found a real URL,
No more your-app.example.com — that was a bore!
appkit-template.vercel.app now holds the door,
The manifest is honest, the CI checks the floor.
Every package manager gets its tarball treat,
A bunny's tidy changes make the scaffold complete! 🌟

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'Create appkit manifest' is vague and doesn't clearly summarize the main changes, which involve updating default URLs and workflow validation across multiple files. Consider a more descriptive title like 'Update default app URL to appkit-template.vercel.app across scaffolding and manifest' to better reflect the comprehensive scope of changes.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch create-appkit-manifest

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/create-ton-appkit/src/index.ts`:
- Around line 200-205: The default app URL in the prompt has been updated to
https://appkit-template.vercel.app, but the template file
packages/create-ton-appkit/template-react/_env still contains the old
placeholder URL https://your-app.example.com/tonconnect-manifest.json which
creates inconsistency. Update the _env template file to use the same default URL
https://appkit-template.vercel.app so that users see a consistent example across
both the CLI prompt and the template configuration file.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3841c09c-59b1-4022-af44-b8834f5d62da

📥 Commits

Reviewing files that changed from the base of the PR and between b5f9e98 and 4d998bb.

📒 Files selected for processing (4)
  • .github/workflows/create_ton_appkit_test.yml
  • packages/create-ton-appkit/README.md
  • packages/create-ton-appkit/src/index.ts
  • packages/create-ton-appkit/template-react/public/tonconnect-manifest.json

Comment thread packages/create-ton-appkit/src/index.ts

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
.github/workflows/create_ton_appkit_test.yml (2)

79-81: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Use structural JSON checks instead of literal grep matching.

At Lines 80-81, formatting changes in tonconnect-manifest.json can fail CI even when values are correct.

Suggested change
           manifest="my-app/public/tonconnect-manifest.json"
-          grep -q "\"url\": \"$APP_URL\"" "$manifest"
-          grep -q "\"iconUrl\": \"$APP_URL/favicon.svg\"" "$manifest"
+          APP_URL="$APP_URL" node -e '
+            const fs = require("fs");
+            const manifest = JSON.parse(fs.readFileSync(process.argv[1], "utf8"));
+            const appUrl = process.env.APP_URL;
+            if (manifest.url !== appUrl || manifest.iconUrl !== `${appUrl}/favicon.svg`) {
+              process.exit(1);
+            }
+          ' "$manifest"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/create_ton_appkit_test.yml around lines 79 - 81, The grep
commands at lines 80-81 perform brittle literal string matching on JSON content,
which fails if the JSON is reformatted despite having correct values. Replace
both grep commands with jq-based JSON structural validation that checks if the
"url" field equals "$APP_URL" and "iconUrl" field equals "$APP_URL/favicon.svg"
in the tonconnect-manifest.json file, ensuring the checks pass regardless of
JSON formatting or whitespace changes.

69-69: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Avoid suppressing install logs at Line 69.

If the tarball install fails, this step exits without actionable output, which makes matrix debugging harder.

Suggested change
-          npm i "./$tname" >/dev/null 2>&1
+          npm i "./$tname"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/create_ton_appkit_test.yml at line 69, Remove the output
redirection suppression from the npm install command that uses the $tname
variable. The current command redirects both stdout and stderr to /dev/null with
>/dev/null 2>&1, which hides diagnostic information when the install fails.
Delete this redirection at the end of the npm i "./$tname" command so that
install logs and error messages are visible in the workflow output, making it
easier to debug matrix test failures.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/create_ton_appkit_test.yml:
- Around line 79-81: The grep commands at lines 80-81 perform brittle literal
string matching on JSON content, which fails if the JSON is reformatted despite
having correct values. Replace both grep commands with jq-based JSON structural
validation that checks if the "url" field equals "$APP_URL" and "iconUrl" field
equals "$APP_URL/favicon.svg" in the tonconnect-manifest.json file, ensuring the
checks pass regardless of JSON formatting or whitespace changes.
- Line 69: Remove the output redirection suppression from the npm install
command that uses the $tname variable. The current command redirects both stdout
and stderr to /dev/null with >/dev/null 2>&1, which hides diagnostic information
when the install fails. Delete this redirection at the end of the npm i
"./$tname" command so that install logs and error messages are visible in the
workflow output, making it easier to debug matrix test failures.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3820b30b-2fc8-4599-bef9-8b09f3671242

📥 Commits

Reviewing files that changed from the base of the PR and between 41f3c1e and bbd54b7.

📒 Files selected for processing (1)
  • .github/workflows/create_ton_appkit_test.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant